{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "Cody Luo(cody@ustc.edu) 2019-11-08"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "White-Crane-Conjecture: n>=3,For any two coprime positive integers a,b, gcd(a,b)==1, it holds TRUE that product(prime_factors(a^n+b^n)) is always far more larger than (a+b). And very often, the max prime factor of a^n+b^n is oftenly(but not always) great than (a+b)/3,\n",
    "`prime_factors(a^n+b^n)[-1] > (a+b)/3, oftenly(but not always)` ,\n",
    "when considering Fermat's Last theorem, n>=3, a^n+b^n<(a+b)^n, we can suppose 1024<a<a+6<b, gcd(a,b)==1, (a+b)%2==1, both a+b and c are composite.\n",
    "\n",
    "White-Crane-Conjecture（by Cody Luo cody@ustc.edu 2019-11-08）is so obvious, so, This is my one sentence proof for Fermat's Last theorem!\n",
    "\n",
    "白鹤猜想: n>=3，对于任意的两个互质正整数a,b,gcd(a,b)==1, 考察a^n+b^n的互不相同的质因数的乘积，product(prime_factors(a^n+b^n))总是远远大于(a+b) , 无一例外.\n",
    "并且通常的情况是 (a^n+b^n)的最大质因数大于(a+b)/3, `prime_factors(a^n+b^n)[-1] > (a+b)/3, oftenly(but not always)`\n",
    "\n",
    "当考虑到Fermat大定理时，因为a^n+b^n<(a+b)^n , 可以不妨设定n>=3, 1024<a<a+7<b, gcd(a,b)==1 , (a+b)%2==1, 并且a+b 和 c 都是合数。\n",
    "白鹤猜想 White-Crane-Conjecture（by Cody Luo cody@ustc.edu 2019-11-08）是如此坦白显然，它就是我今天发现的一句话证明费马最后定理，或者说是，一句话解释费马大定理！\n",
    "\n",
    "如果你能证明(a^n+b^n)的最大的两个质因数乘积要大于(a+b)，那么如果还有a^n+b^n=c^n的话\n",
    "就会出现（p1*p2)^n<=(a^n+b^n)<(a+b)^n 这个矛盾！看，好神奇啊\n",
    "\n",
    "这里蕴含的数学证明思想我称之为 白鹤原理(WhiteCrane Principle).\n",
    "问题:白鹤原理(WhiteCrane Principle)该怎样更好的表述呢?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1034, 1491, [5, 61, 101, 211, 271, 281, 691], 2525)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1048, 1937, [3, 5, 41, 191, 199, 401, 691, 881], 2985)\n",
      "(1049, 1121, [2, 5, 7, 11, 31, 41, 101, 131, 151, 311], 2170)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1057, 1308, [5, 11, 43, 61, 71, 241, 631, 661], 2365)\n",
      "(1061, 1536, [7, 11, 31, 53, 61, 241, 571], 2597)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1061, 1858, [3, 7, 11, 61, 139, 151, 181, 541, 811], 2919)\n",
      "(1063, 1202, [3, 5, 11, 41, 151, 191, 571, 631], 2265)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1075, 1413, [2, 11, 31, 191, 241, 311, 751], 2488)\n",
      "(1076, 1229, [5, 11, 31, 41, 191, 281, 461, 491], 2305)\n",
      "(1079, 1119, [2, 7, 11, 31, 41, 71, 157, 311, 431], 2198)\n",
      "(1079, 1961, [2, 5, 19, 41, 181, 601, 641, 701], 3040)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1091, 1519, [2, 3, 5, 11, 29, 61, 331, 431, 701], 2610)\n",
      "(1093, 1297, [2, 5, 11, 41, 181, 239, 251, 521], 2390)\n",
      "(1094, 1811, [5, 7, 11, 31, 41, 83, 331, 521, 601], 2905)\n",
      "(1097, 1203, [2, 5, 11, 23, 31, 131, 151, 211, 251], 2300)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1105, 1767, [2, 11, 61, 71, 311, 359, 661], 2872)\n",
      "(1112, 1713, [5, 11, 31, 41, 113, 241, 421, 821], 2825)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1113, 1990, [29, 31, 41, 107, 241, 251, 281, 491], 3103)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1125, 1319, [2, 11, 13, 47, 181, 281, 601, 641], 2444)\n",
      "(1128, 1657, [5, 31, 61, 131, 191, 557, 701], 2785)\n",
      "(1129, 1666, [5, 11, 13, 41, 43, 71, 101, 491, 661], 2795)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1135, 1243, [2, 29, 31, 41, 61, 131, 491, 541], 2378)\n",
      "(1141, 1934, [3, 5, 11, 31, 41, 71, 241, 461, 701], 3075)\n",
      "(1142, 1495, [3, 11, 41, 61, 293, 311, 631, 661], 2637)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1151, 1387, [2, 3, 11, 31, 41, 47, 101, 421, 431], 2538)\n",
      "(1154, 1787, [11, 17, 41, 131, 173, 401, 421, 691], 2941)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1173, 1787, [2, 5, 11, 31, 37, 151, 521], 2960)\n",
      "(1175, 1297, [2, 3, 11, 41, 71, 103, 211, 431, 821], 2472)\n",
      "(1177, 1678, [5, 31, 41, 131, 151, 331, 571], 2855)\n",
      "(1177, 1833, [2, 5, 7, 31, 43, 71, 101, 151, 181, 251], 3010)\n",
      "(1181, 1259, [2, 5, 31, 61, 181, 331, 401, 601], 2440)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1188, 1547, [5, 131, 211, 241, 251, 491, 547], 2735)\n",
      "(1195, 1327, [2, 13, 31, 41, 97, 101, 131, 241, 641], 2522)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1198, 1601, [3, 41, 61, 191, 211, 241, 311], 2799)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1206, 1277, [11, 13, 31, 101, 191, 251, 461, 601], 2483)\n",
      "(1206, 1789, [5, 131, 151, 181, 401, 599, 971], 2995)\n",
      "(1213, 1734, [7, 11, 31, 101, 241, 251, 271, 421], 2947)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1229, 1281, [2, 5, 11, 41, 191, 251, 691, 761], 2510)\n",
      "(1233, 1327, [2, 5, 11, 31, 61, 571, 751], 2560)\n",
      "(1236, 1459, [5, 7, 11, 31, 41, 101, 191, 701], 2695)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1247, 1927, [2, 3, 11, 23, 101, 151, 191, 421, 691], 3174)\n",
      "(1250, 1501, [3, 7, 11, 31, 131, 211, 271, 331, 601], 2751)\n",
      "(1250, 1809, [7, 11, 19, 23, 31, 41, 71, 281, 641], 3059)\n",
      "(1253, 1367, [2, 5, 11, 131, 241, 521, 571, 761], 2620)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1271, 1706, [11, 13, 151, 191, 229, 241, 251, 311], 2977)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1287, 1999, [2, 31, 41, 53, 71, 281, 431], 3286)\n",
      "(1293, 1772, [5, 11, 31, 71, 131, 461, 613, 941], 3065)\n",
      "(1293, 1984, [11, 29, 71, 113, 191, 241, 331, 881], 3277)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1297, 1523, [2, 3, 5, 11, 47, 251, 401, 571], 2820)\n",
      "(1300, 1367, [3, 7, 11, 61, 71, 127, 151, 631, 701], 2667)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1309, 1856, [3, 5, 151, 181, 191, 211, 521, 601], 3165)\n",
      "(1313, 1931, [2, 11, 31, 41, 151, 241, 601, 811], 3244)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1319, 1819, [2, 3, 11, 61, 101, 131, 181, 431, 523], 3138)\n",
      "(1327, 1677, [2, 11, 31, 241, 311, 461, 491, 751], 3004)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1331, 1664, [5, 41, 131, 491, 571, 599, 751], 2995)\n",
      "(1331, 1868, [7, 31, 61, 101, 191, 281, 457, 821], 3199)\n",
      "(1335, 1718, [11, 41, 43, 71, 151, 281, 521, 631], 3053)\n",
      "(1341, 1610, [11, 13, 31, 41, 181, 227, 541], 2951)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1342, 1535, [3, 7, 71, 137, 311, 421, 641, 751], 2877)\n",
      "(1352, 1923, [5, 11, 41, 61, 131, 151, 431, 1051], 3275)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1359, 1654, [11, 23, 71, 101, 131, 211, 491, 691], 3013)\n",
      "(1368, 1859, [7, 31, 41, 61, 251, 421, 461, 1021], 3227)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1376, 1637, [23, 31, 131, 331, 631, 881, 971], 3013)\n",
      "(1381, 1541, [2, 3, 11, 61, 131, 211, 401, 487, 631], 2922)\n"
     ]
    }
   ],
   "source": [
    "n=5;\n",
    "k=2000;\n",
    "#matrix=[[]];\n",
    "for a in [1024..k]:\n",
    "    s=a^n\n",
    "    for b in [a+8..k]:\n",
    "        if gcd(a,b)==1:\n",
    "            t=b^n\n",
    "            #print(a,b,prime_factors(s+t), (a+b)/27)\n",
    "            if(prime_factors(s+t)[-1]-(a+b)/3<0):\n",
    "                print(a,b,prime_factors(s+t),a+b)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 0,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
   ],
   "source": [
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "SageMath (stable)",
   "language": "sagemath",
   "metadata": {
    "cocalc": {
     "description": "Open-source mathematical software system",
     "priority": 10,
     "url": "https://www.sagemath.org/"
    }
   },
   "name": "sagemath"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}